package ch.ifage.business.service;

import java.io.Serializable;
import java.util.List;

import ch.ifage.business.dom.Step;


/**
 * 
 * Interface d'un ensemble de workflows.
 * @author Christian
 *
 */
public interface WorkflowsService  extends Serializable {


	/**
	 * List of all workflows.
	 * @return the complete list of workflows.
	 */
	List<Workflow> getList();
	
	/** 
	 * Subset of the workflows that contains a given string in the log.
	 * @param subStringOfLog string to find.
	 * @return List<Workflow> subset filtered.
	 */
	List<Workflow> getSubSetList(String subStringOfLog);
	
	/** 
	 * Step that contains a given string in the log.
	 * @param subStringOfLog string to find.
	 * @return Step first step found.
	 * Used by the SOAP server.
	 */
	Step getStepLogContains(String subStringOfLog);

	/**
	 * Add workflow to the set of workflows.
	 * @param workflow the workflow to add.
	 */
	void add(final Workflow workflow);

}